package game;

import java.awt.Point;
/**
 * <p>A <tt>MoveChecker</tt> verifies the validity of a move with rules specific to itself. 
 * For example, <tt>ChessBoard</tt> checks to see if a move is within its own boundaries, 
 * while a <tt>Piece</tt> verifies that a move is legal in terms of its allowed movements.</p>
 * 
 * @author Mark Kelly
 * @date February 20, 2010
 * @version 2.0
 */
public interface MoveChecker {
	/**
	 * <p>Checks whether moving a <tt>Piece</tt> to a location is valid in the context of the implementing class.</p>
	 * 
	 * @param piece the {@code Piece} that is being moved
	 * @param point the proposed location of the {@code Piece}
	 * 
	 * @return <tt>true</tt> if the move is valid
	 */
	boolean isValidMove(Piece piece, Point point);
}
